package org.jeecg.modules.flower.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 标签信息
 * @Author: jeecg-boot
 * @Date:   2021-08-26
 * @Version: V1.0
 */
@Data
@TableName("t_flower_tag_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="flower_tag_info对象", description="标签信息")
public class FlowerTagInfo implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
    /**来源基地*/
    @Excel(name = "来源基地", width = 15,dictTable = "t_flower_planting_base",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "来源基地")
    @Dict( dictTable = "t_flower_planting_base",dicText = "name",dicCode = "id")
    private String sourceBase;
    /**来源大棚*/
    @Excel(name = "来源大棚", width = 15,dictTable = "t_flower_planting_greenhouse",dicText = "name",dicCode = "id")
    @ApiModelProperty(value = "来源大棚")
    @Dict( dictTable = "t_flower_planting_greenhouse",dicText = "name",dicCode = "id")
    private String sourceGreenhouse;
	/**产品*/
	@Excel(name = "产品", width = 15)
    @ApiModelProperty(value = "产品")
    private String variety;

    /**品种编码variety_code*/
    @Excel(name = "品种编码", width = 15)
    @ApiModelProperty(value = "品种编码")
    private String varietyCode;


    @Excel(name = "库房", width = 15, dictTable = "flower_storehouse",dicText = "name",dicCode = "code")
    @ApiModelProperty(value = "库房")
    @Dict( dictTable = "flower_storehouse",dicText = "name",dicCode = "code")
    private String storehouse;

    @Excel(name = "批次", width = 15 )
    @ApiModelProperty(value = "批次")
    private String productionId;
//
//    @Excel(name = "库房名称")
//    @ApiModelProperty(value = "库房名称")
//    @TableField(exist = false)
//    private String storehousename;

    @Excel(name = "成本中心", width = 15,dicCode = "ch_cost")
    @Dict(dicCode = "ch_cost" )
    @ApiModelProperty(value = "成本中心")
    private String cost;
//
//    @Excel(name = "成本中心名称")
//    @ApiModelProperty(value = "成本中心名称")
//    @TableField(exist = false)
//    private String costname;


    /**采收分类(鲜切花，种苗)*/
	@Excel(name = "采收分类(鲜切花，种苗)", width = 15)
    @ApiModelProperty(value = "采收分类(鲜切花，种苗)")
    private String classify;
	/**分拣员*/
	@Excel(name = "分拣员", width = 15)
    @ApiModelProperty(value = "分拣员")
    private String sorter;
	/**包装员*/
	@Excel(name = "包装员", width = 15)
    @ApiModelProperty(value = "包装员")
    private String packer;
	/**分拣日期*/
	@Excel(name = "分拣日期", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "分拣日期")
    private Date sortTime;
    /**花杆长度*/
    @Excel(name = "单位", width = 15)
    @ApiModelProperty(value = "单位")
    private String flowerPoleLength;
	/**打包规格*/
	@Excel(name = "打包规格", width = 15)
    @ApiModelProperty(value = "打包规格")
    private String packingSpecifications;
    /**等级*/
    @Excel(name = "等级", width = 15)
    @ApiModelProperty(value = "等级")
    private String classes;
	/**库存*/
	@Excel(name = "库存", width = 15, type=4 , isStatistics=true)
    @ApiModelProperty(value = "库存")
    private BigDecimal tagNum;
	/**分拣数量*/
	@Excel(name = "分拣数量", width = 15)
    @ApiModelProperty(value = "分拣数量")
    private Integer sortNum;


    /**状态*/
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态: 新增(-1),已打印标签(0),入库(1),出库(2)，损耗3，-2删除 ")
    private String state;

    /**出库时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date stockOutTime;

    /**入库时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date stockInTime;

    /**出库人*/
    @Excel(name = "出库人", width = 15)
    @ApiModelProperty(value = "出库人")
    private String stockOutUser;
    /**入库人*/
    @Excel(name = "入库人", width = 15)
    @ApiModelProperty(value = "入库人")
    private String stockInUser;

    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;

    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**创建人*/
    @Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String createUser;
    /**更新人*/
    @Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
    private String updateUser;
    /**扫码次数*/
    @Excel(name = "扫码次数", width = 15)
    @ApiModelProperty(value = "扫码次数")
    private Integer scanTimes;

    @Excel(name = "入库id")
    @ApiModelProperty(value = "入库id")
    private String inId;
}
